	.file	"ProcesamientoArgumentos.c"
	.text
	.globl	procesarArgumentos
	.type	procesarArgumentos, @function
procesarArgumentos:
.LFB0:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$48, %rsp
	movl	%edi, -20(%rbp)
	movq	%rsi, -32(%rbp)
	movq	%rdx, -40(%rbp)
	movq	%rcx, -48(%rbp)
	movq	-40(%rbp), %rax
	movq	$0, (%rax)
	movq	-48(%rbp), %rax
	movq	$0, (%rax)
	movb	$115, -1(%rbp)
	cmpl	$1, -20(%rbp)
	jle	.L2
	cmpl	$2, -20(%rbp)
	jne	.L3
	movq	-32(%rbp), %rax
	addq	$8, %rax
	movq	(%rax), %rax
	leaq	-1(%rbp), %rdx
	movq	%rdx, %rsi
	movq	%rax, %rdi
	call	procesarOpciones
	testl	%eax, %eax
	jne	.L4
	movzbl	-1(%rbp), %eax
	cmpb	$104, %al
	je	.L5
	movzbl	-1(%rbp), %eax
	cmpb	$118, %al
	je	.L5
	movq	-32(%rbp), %rax
	addq	$8, %rax
	movq	(%rax), %rax
	movq	-48(%rbp), %rdx
	movq	-40(%rbp), %rcx
	movq	%rcx, %rsi
	movq	%rax, %rdi
	call	procesarCargaDatos
	jmp	.L5
.L4:
	movzbl	-1(%rbp), %eax
	cmpb	$104, %al
	je	.L5
	movzbl	-1(%rbp), %eax
	cmpb	$118, %al
	je	.L5
	movq	-48(%rbp), %rdx
	movq	-40(%rbp), %rax
	movq	%rax, %rsi
	movl	$0, %edi
	call	procesarCargaDatos
	jmp	.L5
.L3:
	movq	-32(%rbp), %rax
	addq	$8, %rax
	movq	(%rax), %rax
	leaq	-1(%rbp), %rdx
	movq	%rdx, %rsi
	movq	%rax, %rdi
	call	procesarOpciones
	testl	%eax, %eax
	je	.L6
	movl	$2, -8(%rbp)
	jmp	.L7
.L6:
	movl	$1, -8(%rbp)
.L7:
	movzbl	-1(%rbp), %eax
	cmpb	$104, %al
	je	.L5
	movzbl	-1(%rbp), %eax
	cmpb	$118, %al
	je	.L5
	jmp	.L8
.L9:
	mov	-8(%rbp), %eax
	salq	$3, %rax
	addq	-32(%rbp), %rax
	movq	(%rax), %rax
	movq	-48(%rbp), %rdx
	movq	-40(%rbp), %rcx
	movq	%rcx, %rsi
	movq	%rax, %rdi
	call	procesarCargaDatos
	addl	$1, -8(%rbp)
.L8:
	movl	-20(%rbp), %eax
	cmpl	-8(%rbp), %eax
	ja	.L9
	jmp	.L5
.L2:
	movq	-48(%rbp), %rdx
	movq	-40(%rbp), %rax
	movq	%rax, %rsi
	movl	$0, %edi
	call	procesarCargaDatos
.L5:
	movzbl	-1(%rbp), %eax
	movsbl	%al, %edx
	movq	-48(%rbp), %rcx
	movq	-40(%rbp), %rax
	movq	%rcx, %rsi
	movq	%rax, %rdi
	call	ejecutarOpcion
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	procesarArgumentos, .-procesarArgumentos
	.section	.rodata
.LC0:
	.string	"ERROR: Opci\303\263n inv\303\241lida.\n"
	.text
	.globl	procesarOpciones
	.type	procesarOpciones, @function
procesarOpciones:
.LFB1:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$48, %rsp
	movq	%rdi, -24(%rbp)
	movq	%rsi, -32(%rbp)
	movl	$0, -4(%rbp)
	cmpq	$0, -24(%rbp)
	je	.L11
	movq	-24(%rbp), %rax
	movq	$-1, -40(%rbp)
	movq	%rax, %rdx
	movl	$0, %eax
	movq	-40(%rbp), %rcx
	movq	%rdx, %rdi
	repnz scasb
	movq	%rcx, %rax
	notq	%rax
	subq	$1, %rax
	cmpq	$2, %rax
	jne	.L11
	movq	-24(%rbp), %rax
	movzbl	(%rax), %eax
	cmpb	$45, %al
	jne	.L11
	movq	-24(%rbp), %rax
	addq	$1, %rax
	movzbl	(%rax), %eax
	movsbl	%al, %eax
	subl	$104, %eax
	cmpl	$14, %eax
	ja	.L12
	mov	%eax, %eax
	movq	.L18(,%rax,8), %rax
	jmp	*%rax
	.section	.rodata
	.align 8
	.align 4
.L18:
	.quad	.L13
	.quad	.L14
	.quad	.L12
	.quad	.L12
	.quad	.L12
	.quad	.L15
	.quad	.L12
	.quad	.L12
	.quad	.L12
	.quad	.L12
	.quad	.L12
	.quad	.L16
	.quad	.L12
	.quad	.L12
	.quad	.L17
	.text
.L13:
	movq	-32(%rbp), %rax
	movb	$104, (%rax)
	movl	$1, -4(%rbp)
	jmp	.L11
.L17:
	movq	-32(%rbp), %rax
	movb	$118, (%rax)
	movl	$1, -4(%rbp)
	jmp	.L11
.L15:
	movq	-32(%rbp), %rax
	movb	$109, (%rax)
	movl	$1, -4(%rbp)
	jmp	.L11
.L16:
	movq	-32(%rbp), %rax
	movb	$115, (%rax)
	movl	$1, -4(%rbp)
	jmp	.L11
.L14:
	movq	-32(%rbp), %rax
	movb	$105, (%rax)
	movl	$1, -4(%rbp)
	jmp	.L11
.L12:
	movq	stderr(%rip), %rax
	movq	%rax, %rdx
	movl	$.LC0, %eax
	movq	%rdx, %rcx
	movl	$26, %edx
	movl	$1, %esi
	movq	%rax, %rdi
	call	fwrite
.L11:
	movl	-4(%rbp), %eax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	procesarOpciones, .-procesarOpciones
	.globl	procesarCargaDatos
	.type	procesarCargaDatos, @function
procesarCargaDatos:
.LFB2:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$48, %rsp
	movq	%rdi, -24(%rbp)
	movq	%rsi, -32(%rbp)
	movq	%rdx, -40(%rbp)
	movl	$0, -4(%rbp)
	cmpq	$0, -24(%rbp)
	je	.L20
	movq	-24(%rbp), %rax
	movzbl	(%rax), %eax
	testb	%al, %al
	je	.L21
	movq	-40(%rbp), %rdx
	movq	-32(%rbp), %rcx
	movq	-24(%rbp), %rax
	movq	%rcx, %rsi
	movq	%rax, %rdi
	call	cargarDatosDesdeArchivo
	movl	%eax, -4(%rbp)
	jmp	.L22
.L21:
	movq	-40(%rbp), %rdx
	movq	-32(%rbp), %rax
	movq	%rdx, %rsi
	movq	%rax, %rdi
	call	cargarDatosDesdeStdin
	movl	$1, -4(%rbp)
	jmp	.L22
.L20:
	movq	-40(%rbp), %rax
	movq	(%rax), %rax
	testq	%rax, %rax
	jne	.L22
	movq	-40(%rbp), %rdx
	movq	-32(%rbp), %rax
	movq	%rdx, %rsi
	movq	%rax, %rdi
	call	cargarDatosDesdeStdin
	movl	$1, -4(%rbp)
.L22:
	movl	-4(%rbp), %eax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	procesarCargaDatos, .-procesarCargaDatos
	.section	.rodata
.LC1:
	.string	"%c"
	.text
	.globl	cargarDatosDesdeStdin
	.type	cargarDatosDesdeStdin, @function
cargarDatosDesdeStdin:
.LFB3:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$32, %rsp
	movq	%rdi, -24(%rbp)
	movq	%rsi, -32(%rbp)
	movl	$6553601, %edi
	call	malloc
	movq	%rax, %rdx
	movq	-24(%rbp), %rax
	movq	%rdx, (%rax)
	movq	-24(%rbp), %rax
	movq	(%rax), %rax
	movl	$6553601, %edx
	movl	$0, %esi
	movq	%rax, %rdi
	call	memset
	movq	-32(%rbp), %rax
	movq	$0, (%rax)
	movl	$0, -12(%rbp)
	movb	$10, -1(%rbp)
	jmp	.L24
.L29:
	movl	$0, -8(%rbp)
	movl	$.LC1, %eax
	leaq	-1(%rbp), %rdx
	movq	%rdx, %rsi
	movq	%rax, %rdi
	movl	$0, %eax
	call	__isoc99_scanf
	movl	%eax, -8(%rbp)
	cmpl	$0, -8(%rbp)
	jle	.L25
	movzbl	-1(%rbp), %eax
	cmpb	$10, %al
	jne	.L26
.L25:
	movl	$1, %eax
	jmp	.L27
.L26:
	movl	$0, %eax
.L27:
	movl	%eax, -12(%rbp)
	cmpl	$0, -12(%rbp)
	jne	.L24
	movq	-24(%rbp), %rax
	movq	(%rax), %rdx
	movq	-32(%rbp), %rax
	movq	(%rax), %rax
	addq	%rax, %rdx
	movzbl	-1(%rbp), %eax
	movb	%al, (%rdx)
	movq	-32(%rbp), %rax
	movq	(%rax), %rax
	leaq	1(%rax), %rdx
	movq	-32(%rbp), %rax
	movq	%rdx, (%rax)
.L24:
	cmpl	$0, -12(%rbp)
	jne	.L23
	movq	-32(%rbp), %rax
	movq	(%rax), %rax
	cmpq	$6553600, %rax
	jbe	.L29
.L23:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	cargarDatosDesdeStdin, .-cargarDatosDesdeStdin
	.section	.rodata
.LC2:
	.string	"r"
	.align 8
.LC3:
	.string	"ERROR: No se encontro el archivo.\n"
	.text
	.globl	cargarDatosDesdeArchivo
	.type	cargarDatosDesdeArchivo, @function
cargarDatosDesdeArchivo:
.LFB4:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$64, %rsp
	movq	%rdi, -40(%rbp)
	movq	%rsi, -48(%rbp)
	movq	%rdx, -56(%rbp)
	movl	$0, -12(%rbp)
	movl	$.LC2, %edx
	movq	-40(%rbp), %rax
	movq	%rdx, %rsi
	movq	%rax, %rdi
	call	fopen
	movq	%rax, -24(%rbp)
	movq	-48(%rbp), %rax
	movq	(%rax), %rax
	testq	%rax, %rax
	jne	.L31
	movl	$6553601, %edi
	call	malloc
	movq	%rax, %rdx
	movq	-48(%rbp), %rax
	movq	%rdx, (%rax)
	movq	-48(%rbp), %rax
	movq	(%rax), %rax
	movl	$6553601, %edx
	movl	$0, %esi
	movq	%rax, %rdi
	call	memset
	movq	-56(%rbp), %rax
	movq	$0, (%rax)
.L31:
	cmpq	$0, -24(%rbp)
	sete	%al
	movzbl	%al, %eax
	movl	%eax, -16(%rbp)
	movb	$0, -1(%rbp)
	jmp	.L32
.L35:
	movl	$0, -8(%rbp)
	leaq	-1(%rbp), %rax
	movq	-24(%rbp), %rdx
	movq	%rdx, %rcx
	movl	$1, %edx
	movl	$1, %esi
	movq	%rax, %rdi
	call	fread
	movl	%eax, -8(%rbp)
	cmpl	$0, -8(%rbp)
	jle	.L33
	movq	-24(%rbp), %rax
	movq	%rax, %rdi
	call	feof
	movl	%eax, -16(%rbp)
	cmpl	$0, -16(%rbp)
	jne	.L32
	movq	-48(%rbp), %rax
	movq	(%rax), %rdx
	movq	-56(%rbp), %rax
	movq	(%rax), %rax
	addq	%rax, %rdx
	movzbl	-1(%rbp), %eax
	movb	%al, (%rdx)
	movq	-56(%rbp), %rax
	movq	(%rax), %rax
	leaq	1(%rax), %rdx
	movq	-56(%rbp), %rax
	movq	%rdx, (%rax)
	movl	$1, -12(%rbp)
	jmp	.L32
.L33:
	movl	$1, -16(%rbp)
.L32:
	cmpl	$0, -16(%rbp)
	jne	.L34
	movq	-56(%rbp), %rax
	movq	(%rax), %rax
	cmpq	$6553600, %rax
	jbe	.L35
.L34:
	cmpq	$0, -24(%rbp)
	je	.L36
	movq	-24(%rbp), %rax
	movq	%rax, %rdi
	call	fclose
	jmp	.L37
.L36:
	movq	stderr(%rip), %rax
	movq	%rax, %rdx
	movl	$.LC3, %eax
	movq	%rdx, %rcx
	movl	$34, %edx
	movl	$1, %esi
	movq	%rax, %rdi
	call	fwrite
.L37:
	movl	-12(%rbp), %eax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	cargarDatosDesdeArchivo, .-cargarDatosDesdeArchivo
	.section	.rodata
.LC4:
	.string	"tp0 [OPTIONS][file...]"
	.align 8
.LC5:
	.string	"-h, --help\t\t\tdisplay\tthis help and exit."
	.align 8
.LC6:
	.string	"-v, --version\t\tdisplay version informaticon and exit."
	.align 8
.LC7:
	.string	"-m, --merge\t\t\tuse the mergesort algorithm."
	.align 8
.LC8:
	.string	"-s, --selection\t\tuse the selection sort algorithm. "
.LC9:
	.string	"1.0"
	.text
	.globl	ejecutarOpcion
	.type	ejecutarOpcion, @function
ejecutarOpcion:
.LFB5:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$48, %rsp
	movq	%rdi, -24(%rbp)
	movq	%rsi, -32(%rbp)
	movl	%edx, %eax
	movb	%al, -36(%rbp)
	movl	$0, -4(%rbp)
	movsbl	-36(%rbp), %eax
	subl	$104, %eax
	cmpl	$14, %eax
	ja	.L39
	mov	%eax, %eax
	movq	.L45(,%rax,8), %rax
	jmp	*%rax
	.section	.rodata
	.align 8
	.align 4
.L45:
	.quad	.L40
	.quad	.L41
	.quad	.L39
	.quad	.L39
	.quad	.L39
	.quad	.L42
	.quad	.L39
	.quad	.L39
	.quad	.L39
	.quad	.L39
	.quad	.L39
	.quad	.L43
	.quad	.L39
	.quad	.L39
	.quad	.L44
	.text
.L40:
	movl	$.LC4, %edi
	call	puts
	movl	$.LC5, %edi
	call	puts
	movl	$.LC6, %edi
	call	puts
	movl	$.LC7, %edi
	call	puts
	movl	$.LC8, %edi
	call	puts
	movl	$1, -4(%rbp)
	jmp	.L39
.L44:
	movl	$.LC9, %edi
	call	puts
	movl	$1, -4(%rbp)
	jmp	.L39
.L42:
	movq	-32(%rbp), %rax
	movq	(%rax), %rdx
	movq	-24(%rbp), %rax
	movq	(%rax), %rax
	movq	%rdx, %rsi
	movq	%rax, %rdi
	call	mergeSort
	movl	$1, -4(%rbp)
	movq	-32(%rbp), %rax
	movq	(%rax), %rdx
	movq	-24(%rbp), %rax
	movq	(%rax), %rax
	movq	%rdx, %rsi
	movq	%rax, %rdi
	call	imprimirVectorPorSalidaEstandar
	jmp	.L39
.L41:
	movq	-32(%rbp), %rax
	movq	(%rax), %rdx
	movq	-24(%rbp), %rax
	movq	(%rax), %rax
	movq	%rdx, %rsi
	movq	%rax, %rdi
	call	mergeSortInverso
	movl	$1, -4(%rbp)
	movq	-32(%rbp), %rax
	movq	(%rax), %rdx
	movq	-24(%rbp), %rax
	movq	(%rax), %rax
	movq	%rdx, %rsi
	movq	%rax, %rdi
	call	imprimirVectorPorSalidaEstandar
	jmp	.L39
.L43:
	movq	-32(%rbp), %rax
	movq	(%rax), %rdx
	movq	-24(%rbp), %rax
	movq	(%rax), %rax
	movq	%rdx, %rsi
	movq	%rax, %rdi
	call	selectionSort
	movl	$1, -4(%rbp)
	movq	-32(%rbp), %rax
	movq	(%rax), %rdx
	movq	-24(%rbp), %rax
	movq	(%rax), %rax
	movq	%rdx, %rsi
	movq	%rax, %rdi
	call	imprimirVectorPorSalidaEstandar
	nop
.L39:
	movl	-4(%rbp), %eax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.size	ejecutarOpcion, .-ejecutarOpcion
	.globl	imprimirVectorPorSalidaEstandar
	.type	imprimirVectorPorSalidaEstandar, @function
imprimirVectorPorSalidaEstandar:
.LFB6:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	subq	$32, %rsp
	movq	%rdi, -24(%rbp)
	movq	%rsi, -32(%rbp)
	movq	$0, -8(%rbp)
	jmp	.L47
.L48:
	movq	-8(%rbp), %rax
	movq	-24(%rbp), %rdx
	addq	%rdx, %rax
	movzbl	(%rax), %eax
	movzbl	%al, %eax
	movl	%eax, %edi
	call	putchar
	addq	$1, -8(%rbp)
.L47:
	movq	-8(%rbp), %rax
	cmpq	-32(%rbp), %rax
	jb	.L48
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	imprimirVectorPorSalidaEstandar, .-imprimirVectorPorSalidaEstandar
	.ident	"GCC: (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1"
	.section	.note.GNU-stack,"",@progbits
